// pages/profile/index.ts
// const pageStack = getCurrentPages()
Page({
  data: {
    userinfo: {
      avatar:'',
      nickName:'',
    }
  },

  onLoad() {
    this.getUserInfo()
  },
   // 获取用户信息
   async getUserInfo() {
    const res = await wx.http.get('/userInfo')
    // 一定要记住是setData才是响应式的啊
    this.setData({
      userInfo:res.data 
    })
  },

  // 更新用户昵称
  async updateNickName(e) {
    // console.log(e);
    const newName = e.detail.value;
    // 调更新接口
   const {code} = await wx.http.put("/userInfo",{nickName:newName})  
    // 检测接口是否调用成功
    if(code !== 10000) return wx.utils.toast('更新昵称失败!')
    this.setData({
      'userinfo.nickName':newName,
    })
  
  },

  // 上传用户头像
  getUserAvatar(e) {
    console.log(e);
    console.log(e.detail.avatarUrl);
   // 调用 API 上传文件
   wx.uploadFile({
    // 接口地址
    url: wx.http.baseURL + '/upload',
    // 待上传的文件路径
    filePath: e.detail.avatarUrl,
    name: 'file',
    header: {
      // 用户登录状态
      Authorization: 'Bearer ' + getApp().token
    },
    formData: {type: 'avatar'},
    success: (result) => {
     // 处理返回的数据
     const data = JSON.parse(result.data)
     console.log(data.data.url,"data");
     
     // 检测接口是否调用成功
     if(data.code !== 10000) return wx.utils.toast('上传头像失败!')
     // 借助于页面栈实例来更新 pages/my/index.wxml 中的头像
    //  pageStack[0].setData({avatar: data.data.url})
      this.setData({
        'userInfo.avatar': data.data.url
      })
    }
  })  
    
  }
})